草庐IT

JavaScript prototype(原型对象)

全部标签

javascript - 如何在不覆盖值的情况下合并javascript中的对象

如何将对象中的重复键合并到一个对象中并连接对象中的值我有这样的对象varobject1={role:"os_and_type",value:"windows"};varobject2={role:"os_and_type",value:"Android"};varobject3={role:"features",value:"GSM"};我怎样才能实现这个目标new_object=[{role:"os_and_type",value:["windows","android"]},{role:"features",value:["GSM"]}]; 最佳答案

javascript - 以编程方式将 <a> 添加到 SVG 路径对象

我在使用JavaScript将anchor标记包裹在SVG中的path对象时遇到了问题。所以,这是我的SVG(缩短版,只有两条路径),带有ids:“纹状体1”和“纹状体2”对于ID为“striatum1”的路径,我对链接进行了硬编码,对于ID为“striatum2”的路径,我想以编程方式生成链接。首先,请看一下SVG(brain.svg):image/svg+xml我使用命令将SVG加载到我的HTML文件中:YourbrowserdoesnotsupportSVG现在我使用JavaScript和DOM操作来简单地用anchor包裹路径,就像这样:varbrain=document.ge

javascript - 未捕获的对象错误 : can't inject ngAnimate

当我尝试像这样注入(inject)“ngAnimate”时,我无法实例化我的应用程序:varapp=angular.module('musicsa',['ngCookies','ngResource','ngSanitize','ui.router','firebase','ngAnimate'])我从angular.js第78行收到错误Uncaughtobject我使用Bower安装了ngAnimate。这是我的bower.json:{"name":"ang-changeorg","version":"0.0.0","dependencies":{"angular":"1.2.6",

javascript - 跨网络应用程序和 Chrome 扩展程序共享本地存储对象

我需要将用户配置文件和他的偏好存储在localStorage对象\cookie中,以便它们可以从网络应用程序和chrome扩展程序(基本上是相同的产品)。我找到了thiscoollibrary和thisarticle指定如何使用它。问题是xauth.org已关闭,serverpage也已关闭这是使用库所必需的。任何选择 最佳答案 您可以同时使用localStorage和cookie。如果你注入(inject)一个contentscript在网络应用程序的页面中,其localStorage与域自己的存储共享。然后你可以communic

javascript - 原型(prototype)方法上的 JS Array.prototype.filter

有没有更简单的方法在没有匿名函数的原型(prototype)方法上调用过滤器?我想知道是否有与myArray.filter(function(it){it.method()})等价的东西。这看起来很接近于可能有效的方法(实际上无效):functionX(){}X.prototype.method=function(){console.log(this);}[newX(),newX()].filter(X.prototype.method.call);相反,我在最新的Firefox和Chrome中都遇到了TypeError,这是因为它没有完全按照我的要求进行:x=function(){c

javascript - 如何在 Screeps 对象中实现继承?

我已经研究Screeps一段时间了,昨晚我决定通过从Creep主类派生两个类Miner和Transporter,将我的一些行为纳入类层次结构。但是,每当我做console.log(_.functions(minerInstance));我得到的函数列表和我做的时候完全一样console.log(_.functions(transporterInstance));有人可以告诉我我是否做错了什么,或者我是否真的遇到了我的代码运行环境的限制?这是我的代码://////////////////////////////Creep.jsvarCreep=function(creep,room){t

javascript - 使用 setInterval 调用时,对象方法失去其作用域

有没有办法像下面的例子一样打印出数组players的值?几个小时以来,我一直在努力寻找解决方案...functionRoom(name,id,owner){this.players=[];this.movementz=function(){console.log(this.players);}}我正在使用setInterval调用该函数,如下所示:setInterval(room.movementz,1000); 最佳答案 这里的问题是关于this对象:创建你的对象并手动调用它的movementz方法会起作用,因为this元素是对象

javascript - 从 HTML5 FormData 对象中获取所有项目 - HTML5

我一直在使用HTML5FormData对象,但我似乎无法弄清楚如何找到它包含的数据。出于调试目的,我需要访问它。https://developer.mozilla.org/en-US/docs/Web/API/FormData1有类似的功能FormData::get([name]);但是我不知道名字。如果有类似下面的东西就好了:FormData::dumpData();查看FormData对象中所有数据的好方法是什么?更新这是FormData对象的示例: 最佳答案 默认情况下,FormData的所有功能并非在所有浏览器中都可用。但是

javascript - 从 javascript 对象中剥离方法

在一个repo协议(protocol)中,我看到了一行。varfoo=JSON.parse(JSON.stringify(foo));我认为这是试图从对象中剥离任何方法。我真的看不到它在做任何其他事情。有没有更有效的方法来尝试这个?Node是否对此进行了优化? 最佳答案 在codecontext您现在已经透露,此技术正用于制作传递给函数的对象的副本,以便对该对象的修改不会修改原始对象。这是您链接的上下文://routereply/errorthis.connection.on('message',function(msg){varm

javascript - `util.inherits` 和扩展 NodeJS 原型(prototype)的区别

我从0.11/0.12开始就一直在使用Node,所以如果这是一个来晚了的问题,请纠正我。我试图理解使用util.inherits(Son,Dad)和简单地扩展Son.prototype=[new]Dad()的原型(prototype)之间的区别.对于这个例子,我继承了一个Transformstream首先使用util.inherits:varutil=require('util')varTransform=require('stream').Transformutil.inherits(TStream,Transform)functionTStream(){Transform.call